﻿// <copyright file="ITimeSeriesRain.cs" company="City of Portland, BES-ASM">
// </copyright>
// <summary>ITimeSeriesRain interface</summary>

namespace BESASM.EMGAATS.BusinessClasses
{
  using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  using System.Threading.Tasks;

  /// <summary>
  /// Represents a rainfall time series at a given location
  /// </summary>
  public interface ITimeseriesRain
  {
    /// <summary>
    /// Gets or sets the location ID
    /// For actual storm this is a gage ID that can be cast to integer. 
    /// For virtual storms we should have a convention
    /// </summary>
    string LocationID { get; set; }

    /// <summary>
    /// Gets or sets descriptor
    /// Rules to be determined
    /// </summary>
    string Descriptor { get; set; }
    
    /// <summary>
    /// Gets or sets storm start date
    /// </summary>
    DateTime StartDate { get; set; }

    /// <summary>
    /// Gets or sets storm end date
    /// </summary>
    DateTime EndDate { get; set; }

    /// <summary>
    /// Gets or sets rainfall interval in seconds
    /// </summary>
    int IntervalSeconds { get; set; }

    /// <summary>
    /// Gets or sets a zero filled array from start date to end date
    /// </summary>
    double[] RainDepthInches { get; set; }
  }
}
